1. Field of the Invention
The present invention relates generally to data processing systems and more specifically to efficient identity mapping and self-correction for cascaded server systems.
2. Description of the Related Art
With a wide use of the Web Services technology and a trend of on-line business operations getting more complex, a business organization often needs to connect and integrate a number of internal special-purposed servers to accomplish the full functionality of various business transactions that the business delivers to its customers, partners, or employees. In a typical situation, all these servers form a cascaded client-server relationship, i.e., one server serving a specific function to its client acts as a client to another server. The term server encompasses a software application server process running on a server hardware. However, these servers may have existed before the establishment of the client-server cascading relationship, and each server may have its own user registry that resides locally, or on a remote server.
For a business transaction to proceed end-to-end along the client-server chain, a different user identity may need to be used on each server for authentication, authorization, auditing, or other purposes. Therefore, an identity mapping mechanism is usually employed to map a user identity recognized by one server to a different one recognized by another server.
In current identity mapping solutions, the identity mapping information is defined and stored in a common registry like the Lightweight Directory Access Protocol (LDAP) server, and an application programming interface (API) is provided to the server to map a user identity for one server to a user identity for another server. An application programming interface is any interface that enables one program to use facilities provided by another program, whether by calling that program, or by being called by the other program. An application programming interface may consist of classes, function calls, subroutine calls, descriptive tags, and so forth.